<html>
<head>
<title>draw2dメモ</title>
</head>
<body>
<h1>draw2dメモ</h1>
<h2>参考URL</h2>
<ol>
<li><a href="http://help.eclipse.org/helios/index.jsp?nav=/28">公式ガイド</a></li>
<li><a href="http://www.eclipse.org/gef/downloads/">Download</a></li>
</ol>

<h2>draw2dとは</h2>
<p>グラフィックを描画するためのライブラリーです。

<h3><a href="http://www.eclipse.org/gef/draw2d/index.php">Draw2dの概要</a></h3>
<blockquote>
Draw2d is a lightweight toolkit for displaying graphical components on an SWT Canvas. Lightweight means that all graphical components, which are called figures in Draw2d, are simply java objects, with no corresponding resource in the operating system.
A LightweightSystem associates a figure composition with an SWT Canvas. It hooks listeners for most SWT events, and forwards most of them to an EventDispatcher, which translates them into events on the appropriate figure. Paint events are forwarded from the figures to an UpdateManager, which coordinates painting and layouting on the canvas.
Figures can be composed via a parent-child relationship. Every figure has a rectangular bounds inside which it, and its children, paint. A layout manager can be used to place children based on their index and/or constraint. Figures can be updated in ways which affect their appearance or size, and the update manager ensures that only one layout occurs, followed by a repaint of only the region which was updated.
Any type of diagram, document, or drawing can be easily constructed and efficiently updated by combining the provided figure and layout implementations along with the use of custom figures or layouts when needed.
</blockquote>
<p>Draw2dは、SWTのCanvas上にグラフィカルなコンポーネントを表示するための軽量なツールキットです。"軽量"とは、Draw2dで"figure"と呼ばれるグラフィックコンポーネントが、単純にOSのリソースとJavaオブジェクトを対応付けているためです。
<p>軽量システムは、SWTのCanvasとfigure compositionとを連携させます。これは、ほとんどのSWTのイベントリスナーをフックし、適切なfigureのイベントとしてEventDispatcherに転送します。Paintイベントは、描画座標とCanvasのレイアウトによってfigureからUpdateManagerに転送されます。
<p>Figureは親子関係で構成されます。全てのfigureは内側境界の矩形を持ち、子を描画します。レイアウトマネージャーを使用すると、順序や制約によって子を配置することができます。Figureは、外観やサイズに影響が与えられたときに更新します。レイアウトマネージャーは、唯一つのレイアウトが存在することを保証し、更新された領域の再描画にしたがいます。
<p>図やドキュメント、描画は容易に構築することができ、提供するfigure・レイアウトと必要に応じたカスタムfigure・レイアウトを組み合わせて使用することにより、効率的に更新します。

<h2>GEFとの関係</h2>
<p>draw2dはGEF（Graphical Editing Framework）の表示処理を担うライブラリです。

<h2>Zestとの関係</h2>
<p>Zestは、EclipseのワークベンチUIのGraphical Viewの実装を可能にするためのdraw2dベースのツールキットです。

<h2><a href="samples.html">サンプル</a></h2>

<h2><a href="draw2d.html">org.eclipse.drwa2dパッケージ</a></h2>

<h2><a href="draw2d_geometry.html">org.eclipse.draw2d.geometryパッケージ</a></h2>

<h2>org.eclipse.draw2d.graph</h2>
<p>Stand-alone algorithms related to Graph Drawing.
<p>グラフ描画に関連するStand aloneなアルゴリズム。

<h2>org.eclipse.draw2d.parts</h2>
<p>This package contains some complex parts used with Draw2d.
<p>本パッケージには、Drwa2dで使用される複雑な部品が含まれます。

<h2>org.eclipse.draw2d.text</h2>
<p>Figures and support classes related to the layout and rendering of rich text.
<p>リッチテキストのレイアウトやレンダリングに関連するFigureやサポートクラス。

<h2>org.eclipse.draw2d.widgets</h2>
<p>Custom SWT Controls which use figures internally.
<p>figureが内部的に使用しているカスタムのSWTコントロール。

</body>
</html>
